In video system applications, a picture is displayed on a television or a computer screen by scanning an electrical signal horizontally across the screen one line at a time using a scanning circuit. The amplitude of the signal at any one point on the line represents the brightness level at that point on the screen. When a horizontal line scan is completed, the scanning circuit is notified to retrace to the left edge of the screen and start scanning the next line provided by the electrical signal. Starting at the top of the screen, all the lines to be displayed are scanned by the scanning circuit in this manner. A frame contains all the elements of a picture. The frame contains the information of the lines that make up the image or picture and the associated synchronization signals that allow the scanning circuit to trace the lines from left to right and from top to bottom.
There may be two different types of picture or image scanning in a video system. For some television signals, the scanning may be interlaced, while for some computer signals the scanning may be progressive or non-interlaced. Interlaced video occurs when each frame is divided into two separate sub-pictures or fields. These fields may have originated at the same time or at subsequent time instances. The interlaced picture may be produced by first scanning the horizontal lines for the first field and then retracing to the top of the screen and then scanning the horizontal lines for the second field. The progressive, or non-interlaced, video may be produced by scanning all of the horizontal lines of a frame in one pass from top to bottom.
In video compression, communication, decompression, and display, there has been for many years problems associated with supporting both interlaced content and interlaced displays along with progressive content and progressive displays. Many advanced video systems support either interlaced or progressive video but not both. As a result, deinterlacers, devices or systems that convert interlaced video into progressive video, have become an important component in many video systems. The deinterlacer may take the available lines from a current field and may determine the remaining lines needed to fill the progressive output frame. The process of deinterlacing may be seen as taking one present line of pixels from the source field and producing two output lines of pixels. One line is the line that came from the source field and may be called the “present” line, while the other line is the line that needs to be created and may be called the “absent” line. Interlaced fields may be of two types, top fields and bottom fields. Top fields may have a present line as their first line and bottom fields may have an absent line as their first line. The sequence of fields in interlaced video alternate between top fields and bottom fields.
Field-by-field control of a deinterlacer which relies on multiple fields to generate progressive video may involve many complex operations. Performing all the state control in software may allow flexibility when carrying out these complex operations but it may also require a significant amount of state information to be maintained over many fields. This may require a large amount of memory which may be cost prohibitive. Moreover, many of these operations straddle multiple fields making clean software partitioning challenging. The process of enabling and disabling a multi-field deinterlacer in the display path may be a non-trivial task and may cause unwanted artifacts to be displayed. Furthermore, a way in which a change in time reference or video source availability is handled is crucial to enabling and disabling the deinterlacer in a visually pleasing manner.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.